package ${appConfig.groupId}.mapper;

import ${appConfig.groupId}.model.${tableConfig.domainObjectName};

public interface ${tableConfig.domainObjectName}Mapper {
    int delete${tableConfig.domainObjectName}By${primaryKey.javaPropertyName ? cap_first}(${primaryKey.javaShortType} ${primaryKey.javaPropertyName});

    int insert${tableConfig.domainObjectName}(${tableConfig.domainObjectName} ${tableConfig.domainObjectName ? uncap_first});

    int insert${tableConfig.domainObjectName}Selective(${tableConfig.domainObjectName} ${tableConfig.domainObjectName ? uncap_first});

    ${tableConfig.domainObjectName} get${tableConfig.domainObjectName}By${primaryKey.javaPropertyName ? cap_first}(${primaryKey.javaShortType} ${primaryKey.javaPropertyName});

    int update${tableConfig.domainObjectName}By${primaryKey.javaPropertyName ? cap_first}Selective(${tableConfig.domainObjectName} ${tableConfig.domainObjectName ? uncap_first});

    int update${tableConfig.domainObjectName}By${primaryKey.javaPropertyName ? cap_first}(${tableConfig.domainObjectName} ${tableConfig.domainObjectName ? uncap_first});
}
